package com.hmy.finance.service.receipt.dto.offset;

import com.hmy.finance.dal.po.DeviceDailyBillPo;
import com.hmy.finance.dal.po.ProfitLossRecordPo;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

/**
 * The Data Transfer Object of Offset Contract Daily Fee Bill
 *
 * @author songkf
 */
@Data
public class OffsetContractDailyFeeBillDto implements java.io.Serializable {
    private static final long serialVersionUID = 8726855622931794295L;

    //=============== Request Parameters ===============
    /**
     * the contract id
     */
    private Long contractId;

    /**
     * the Contactor ID
     */
    private Long contactorId;

    /**
     * the fee bill incurred date
     */
    private LocalDate feeBillIncurredDate;

    /**
     * the receivable adjust Profit Loss Record List
     */
    private List<ProfitLossRecordPo> receivableAdjustProfitLossInfoList = new ArrayList<>();

    /**
     * the offset Device Daily Bill Info List
     */
    private List<DeviceDailyBillPo> waitOffsetDeviceDailyBillInfoList = new ArrayList<>();

    /**
     * Wait offset Device Daily Bill Dto With Device Profit Loss Infos
     */
    private List<OffsetDeviceDailyBillDto> waitOffsetDeviceDailyBillDtoList = new ArrayList<>();

    /**
     * Submit User Id
     */
    private Long submitUserId;
    /**
     * Submit User Name
     */
    private String submitUserName;


    //=============== Logic Process Parameters ===============
    /**
     * Offset Total Amount （Only offset greater than zero.）
     */
    private BigDecimal offsetTotalAmount = BigDecimal.ZERO;


}
